package com.demo.java.OD351_400.OD364;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【 判断字符串子序列(B卷)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146224692
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String target = scanner.nextLine();
        String source = scanner.nextLine();

        // 使用 StringBuilder 进行逆序处理
        StringBuilder targetBuilder = new StringBuilder(target);
        StringBuilder sourceBuilder = new StringBuilder(source);

        targetBuilder.reverse();
        sourceBuilder.reverse();

        int step = -1;  // 用于记录当前匹配的位置
        int count = targetBuilder.length();  // 用于检查所有字符是否都匹配

        // 遍历 target 字符串
        for (char x : targetBuilder.toString().toCharArray()) {
            // 查找 source 中第一个匹配的字符位置
            int step_x = sourceBuilder.indexOf(String.valueOf(x), step + 1);
            if (step < step_x) {
                step = step_x;  // 更新匹配位置
                count--;  // 减少匹配字符数
            }
        }

        // 如果没有找到所有字符，输出 -1
        if (count != 0) {
            System.out.println(-1);
        } else {
            // 输出匹配位置
            System.out.println(sourceBuilder.length() - step - 1);
        }
    }
}